New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

ip-cidr

Package Overview
Dependencies
Maintainers
1
Versions
50
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ip-cidr

Module for working with CIDR (v4, v6)

  • 2.1.5
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
107K
decreased by-2.32%
Maintainers
1
Weekly downloads
 
Created
Source

Install

npm install ip-cidr

About

Module for working with CIDR (v4, v6). Based on ip-address.

Example

const IPCIDR = require("ip-cidr");
const BigInteger = require("jsbn").BigInteger;
const cidr = new IPCIDR("50.165.190.0/23"); 

if(!cidr.isValid()) {
  throw new Error('CIDR is invalid');
}

// get start ip address as a string
cidr.start(); 

// get end ip address as a big integer
cidr.end({ type: "bigInteger" }); 

// do something with each element of the range  
cidr.loop(ip => console.log(ip), { type: "addressObject" });

// get an array of all ip addresses in the range as a big integer;
cidr.toArray({ type: "bigInteger" }); 

// get an array by chunks using from/limit
cidr.toArray({ from: 1, limit: new BigInteger('2') });

// get an array by chunks using from/to
cidr.toArray({ from: new BigInteger('1'), to: 3 });
cidr.toArray({ from: '50.165.190.1', to: '50.165.190.3' });

// get an array of start and end ip addresses as a string [startIpAsString, endIpAsString]
cidr.toRange(); 

Client side

Load /dist/ip-cidr.js as a script and you can get the library in window.IPCIDR

API

.formatIP(address, [options])

to return an "ip-address" module object in the necessary format

.contains(address)

to check the address belongs to the range

.start([options])

to get the start ip adress

.end([options])

to get the end ip address

.toString()

to convert the cidr to a string like "50.165.190.0/23"

.toRange([options])

to convert the cidr to an array with start and end ip addresses [startIp, endIp]

.toObject([options])

to convert the cidr to an object with start and end ip addresses {start: startIp, end: endIp}

.toArray([options], [results])

to convert the cidr to an array with all ip addresses in the range
you can get information by chunks using options.from/options.limit or options.from/options.to
you can pass the second argument "results" (object) to get all chunk pagination information

.loop(fn, [options], [results])

to run fn for each element of the range
you can use the same chunk options as in .toArray()

Keywords

FAQs

Package last updated on 04 Jun 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc